package com.guigu.www.service.imp;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.guigu.www.mapper.FileMapper;
import com.guigu.www.pojo.File;
import com.guigu.www.pojo.Module;
import com.guigu.www.pojo.ModuleDetails;
import com.guigu.www.service.FileService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class FileServiceImpl
        extends ServiceImpl<FileMapper,File>
        implements FileService {
    @Autowired
    FileMapper fileMapper;

    @Override
    public List<File> queryFileAll() {
        return fileMapper.queryFileAll();
    }

    @Override
    public boolean addFile(File file) {
        return fileMapper.addFile(file)==1?true:false;
    }


    @Override
    //制定安全库存查询通过的产品
    public IPage<File> queryBystock(int pageno,int pagesize,File file) {
        //创建分页
        Page page=new Page(pageno,pagesize);
        //创建条件
        QueryWrapper<File> queryWrapper=new QueryWrapper<File>();
        queryWrapper.eq("CHECK_TAG","S001-1");
        if(StringUtils.isNotBlank(file.getProductname())){
            queryWrapper.like("PRODUCT_NAME",file.getProductname());
        }
        //获取方法
        return this.page(page,queryWrapper);

    }

    @Override
    public File queryByFileL(String id) {
        return fileMapper.queryByFileL(id);
    }

    @Override
    public boolean updateFileL(File file) {
        return fileMapper.updateFileL(file)==1?true:false;
    }

    @Override
    public boolean delFileL(String id) {
        return fileMapper.delFileL(id)==1?true:false;
    }

    @Override
    public boolean recover(String id) {
        return fileMapper.recover(id)==1?true:false;
    }

    @Override
    public List<File> queryFileSel() {
        return fileMapper.queryFileSel();
    }
    //假删
    @Override
    public boolean delTrueL(String id) {
        return fileMapper.delTrueL(id)==1?true:false;
    }

    @Override
    public List<File> queryByCheckTag() {
        return fileMapper.queryByCheckTag();
    }

    @Override
    public boolean updateCheckTag(File file) {
        return fileMapper.updateCheckTag(file)==1?true:false;
    }

    //物料组成设计单  按用途类型商品来查
    @Override
    public List<File> queryByType() {
        return fileMapper.queryByType();
    }

    //物料组成设计单  按用途类型物料来查
    @Override
    public List<File> queryByTypeWuLiao() {
        return fileMapper.queryByTypeWuLiao();
    }

    @Override
    public boolean addModuleDetails(ModuleDetails moduleDetails) {
        return fileMapper.addModuleDetails(moduleDetails)==1?true:false;
    }

    @Override
    public boolean updateDesignModuleTag(String zdid) {
        return fileMapper.updateDesignModuleTag(zdid)==1?true:false;
    }

    @Override
    public List<Module> queryModuleCheckTagLS() {
        return fileMapper.queryModuleCheckTagLS();
    }

    @Override
    public boolean addModule(Module module1) {
        return fileMapper.addModule(module1)==1?true:false;
    }

    @Override
    public List<ModuleDetails> queryByModuleId(String id) {
        return fileMapper.queryByModuleId(id);
    }

    @Override
    public boolean updateByModuleCheckTag(Module module) {
        return fileMapper.updateByModuleCheckTag(module)==1?true:false;
    }

    @Override
    public boolean updateByFileCheckTag(File file) {
        return fileMapper.updateByFileCheckTag(file)==1?true:false;
    }
    //修改设置库存状态
    @Override
    public void updatestatus(String productId) {
        fileMapper.updatestatus(productId);
    }

    @Override
    public List<File> queryByFileWuliao() {
        return fileMapper.queryByFileWuliao();
    }
    //查询file表里type是物料的
    @Override
    public File QueryFileByProductId(String productId) {

        QueryWrapper<File> queryWrapper=new QueryWrapper<>();
        queryWrapper.eq("product_Id",productId);
        File file = fileMapper.selectOne(queryWrapper);

        return file;
    }

    @Override
    public boolean updateProducLSuccess(int id) {
        return fileMapper.updateProducLSuccess(id)==1?true:false;
    }


    @Override
    public IPage<File> queryByFileBychecktag(int pageno, int pagesize) {
        Page page=new Page(pageno,pagesize);
        //调用方法
        QueryWrapper<File> queryWrapper=new QueryWrapper<File>();
        queryWrapper.in("CHECK_TAG","S001-1","S001-3");
        return this.page(page,queryWrapper);
    }

    @Override
    public IPage<File> queryBystockather(int pageno, int pagesize, File file) {
        //创建分页
        Page page=new Page(pageno,pagesize);
        //创建条件
        QueryWrapper<File> queryWrapper=new QueryWrapper<File>();
        queryWrapper.eq("DESIGN_CELL_TAG","K001-1");
        if(StringUtils.isNotBlank(file.getProductname())){
            queryWrapper.like("PRODUCT_NAME",file.getProductname());
        }
        //获取方法
        return this.page(page,queryWrapper);
    }

    @Override
    public void updateDesign(String id) {
          //获取方法
        fileMapper.updateByDesinid(id);
    }



}
